Systems and methods for managing motion detection of an electronic device, and associated electronic devices

ABSTRACT

Embodiments are provided for managing the operation of sensors in an electronic device. According to certain aspects, the electronic device may detect a change in motion from a set of lower-sensitivity sensor data generated by a sensor(s) operating in a lower-sensitivity mode. When the change in motion is detected and during a timeout window, the sensor(s) may generate an additional set of lower-sensitivity sensor data and a set of higher-sensitivity sensor data. The electronic device may initially confirm the change in motion based on analyzing the set of higher-sensitivity sensor data. Further, the electronic device may determine that the additional set of lower-sensitivity does not indicate an additional change in motion, and may deem the confirmation of the change in motion as a false positive.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.17/145,007 filed Jan. 8, 2021, entitled “SYSTEMS AND METHODS FORMANAGING MOTION DETECTION OF AN ELECTRONIC DEVICE, AND ASSOCIATEDELECTRONIC DEVICES,” the entire disclosure of which is herebyincorporated by reference, for all purposes, as if fully set forthherein.

FIELD OF THE DISCLOSURE

The present disclosure relates to managing sensor operation on anelectronic device and, more particularly, to managing the operation ofvarious sensors and algorithms that process the corresponding sensordata.

BACKGROUND

The background description provided herein is for the purpose ofgenerally presenting the context of the disclosure. Work of thepresently named inventors, to the extent it is described in thisbackground section, as well as aspects of the description that may nototherwise qualify as prior art at the time of filing, are neitherexpressly nor impliedly admitted as prior art against the presentdisclosure.

Electronic devices, such as smartphones and other devices, continue toimprove technologically. Generally, electronic devices incorporate moreand/or improved sensors to facilitate various functionalities, modes,and applications associated with the electronic devices. With theadditional and/or improved sensors along with the increased devicecapabilities, device resource management becomes more difficult. Inparticular, additional sensor usage consumes more power and utilizesmore central processing unit (CPU) bandwidth, among other increasedresource usage.

To accommodate this increased power and CPU demand, electronic devicesare typically designed with sufficient CPU and memory capabilities.However, this can increase hardware costs associated with manufacturingthe electronic devices. Additionally, sensors that actively operate intheir highest signal-to-noise ratio (SNR) mode increase the noise in theenvironment for other devices. Moreover, because devices are oftendesigned with sufficient heat dissipation to compensate for worst caseoperating conditions, the resulting devices are often larger thannecessary, which can constrain the physical design and increase userexpectations with potential adverse market implications.

SUMMARY

According to implementations, an electronic device may manage multiplealgorithms that process data from one or more sensors, for example aradar sensor and/or an ultrasound sensor. The sensor(s) may continuallygenerate a set of sensor data, which an initial motion recognitionalgorithm may analyze and, based on the analysis, detect a change inmotion of a target in proximity to the electronic device. When thechange in motion is detected, the electronic device may cache the set ofsensor data in memory and initiate a supplemental motion recognitionalgorithm that processes data from the sensor. The electronic device mayalso facilitate “clutter removal” in which a portion of the set ofsensor data that does not indicate motion may be removed from the set ofsensor data cached in memory.

The supplemental motion recognition algorithm may analyze the set ofsensor data that was cached in memory and, based on the analysis,confirm the change in motion that was initially detected by the initialmotion recognition algorithm. If the supplemental motion recognitionalgorithm does not confirm the change in motion, then the change inmotion initially detected by the initial motion recognition algorithmmay be deemed a false positive.

In situations in which a false positive is detected, the electronicdevice may cease the supplemental motion recognition algorithm.Therefore, the electronic device may revert to executing only theinitial motion recognition algorithm, which conserves compute, memory,power, and/or thermal resources.

In situations in which the change in motion is confirmed, thesupplemental motion recognition algorithm may process additional sensordata generated by the sensor and facilitate various functionalities. Forexample, the supplemental motion recognition algorithm may be a gesturerecognition algorithm that may detect user gestures performed inproximity to the electronic device.

In other implementations, a sensor may operate in a first mode andgenerate a corresponding first set of first mode sensor data. An initialalgorithm may analyze the first set of first mode sensor data and detecta change in motion of a target in proximity to the electronic device. Inresponse, the sensor may additionally operate in a second mode andgenerate a corresponding set of second mode sensor data, which may becached in memory.

The electronic device may initiate a supplemental algorithm thatretrieves and analyzes the cached sensor data. Based on any motiondetected in the cached sensor data, the electronic device may continueor terminate operation of the supplemental algorithm.

In additional implementations, a sensor may operate in alower-sensitivity mode and generate a corresponding set oflower-sensitivity sensor data. An initial algorithm may analyze the setof lower-sensitivity sensor data and detect a change in motion of atarget in proximity to the electronic device.

The electronic device may start a timeout window and, during the timeoutwindow, the same sensor or a different sensor may operate in ahigher-sensitivity mode and generate a corresponding set ofhigher-sensitivity sensor data. The electronic device may furtherinitiate a supplemental algorithm that processes the set ofhigher-sensitivity sensor data and confirms the originally-detectedchange in motion.

Additionally, the initial algorithm may analyze an additional set oflower-sensitivity generated during the timeout window and determine thatadditional motion was not detected during the timeout window. As aresult, the electronic device may determine that the change in motioninitially confirmed by the set of higher-sensitivity sensor data wasactually a false positive.

One example embodiment of the techniques of this disclosure is acomputer-implemented method of managing sensor activity in an electronicdevice. The method includes retrieving, by a processor from at least onesensor of the electronic device operating in a lower-sensitivity mode, aset of lower-sensitivity sensor data, and detecting a change in motionof a target relative to the electronic device based on analyzing, by theprocessor, the set of lower-sensitivity sensor data. The method furtherincludes, based on detecting the change in motion and for a set amountof time: retrieving, by the processor from the at least one sensoroperating in a higher-sensitivity mode, a set of higher-sensitivitysensor data, retrieving, by the processor from the at least one sensoroperating in the lower-sensitivity mode, an additional set oflower-sensitivity sensor data, analyzing, by the processor, the set ofhigher-sensitivity sensor data and the additional set oflower-sensitivity sensor data, and based on analyzing the set ofhigher-sensitivity sensor data, confirming the change in motion relativeto the electronic device. Further, the method includes, after the set ofamount of time elapses: based on analyzing the additional set oflower-sensitivity sensor data, determining that an additional change inmotion relative to the electronic device was not detected, and deeming,as a false positive, the confirmation of the change in motion based onanalyzing the set of higher-sensitivity sensor data.

Another example embodiment of the techniques of this disclosure is anelectronic device. The electronic device comprises a first sensorconfigured to operate in a lower-sensitivity mode, a second sensorconfigured to operate in a higher-sensitivity mode, and a processorinterfaced with the first sensor and the second sensor. The processor isconfigured to retrieve, from the first sensor, a set oflower-sensitivity sensor data, detect a change in motion of a targetrelative to the electronic device based on analyzing, the set oflower-sensitivity sensor data, based on detecting the change in motion,initiate a timeout window, and while the timeout window is active:retrieve, from the second sensor, a set of higher-sensitivity sensordata, retrieve, from the first sensor, an additional set oflower-sensitivity sensor data, analyze the set of higher-sensitivitysensor data and the additional set of lower-sensitivity sensor data, andbased on analyzing the set of higher-sensitivity sensor data, detect anadditional change in motion relative to the electronic device. After thetimeout window elapses, the processor is further configured to, based onanalyzing the additional set of lower-sensitivity sensor data, determinethat motion relative to the electronic device was not detected, anddeem, as a false positive, the detection of the additional change inmotion based on analyzing the set of higher-sensitivity sensor data.

A further example embodiment of the techniques of this disclosure is anon-transitory computer-readable memory storing instructions thereonthat, when executed by one or more processors of an electronic device,cause the one or more processors to: retrieve, from at least one sensorof the electronic device operating in a lower-sensitivity mode, a set oflower-sensitivity sensor data, analyze the set of lower-sensitivitysensor data to detect a change in motion of a target relative to theelectronic device, and based on detecting the change in motion and for aset amount of time: retrieve, from the at least one sensor operating ina higher-sensitivity mode, a set of higher-sensitivity sensor data,retrieve, from the at least one sensor operating in thelower-sensitivity mode, an additional set of lower-sensitivity sensordata, analyze the set of higher-sensitivity sensor data and theadditional set of lower-sensitivity sensor data, and based on analyzingthe set of higher-sensitivity sensor data, detect an additional changein motion relative to the electronic device. Further, after the set ofamount of time elapses: the instructions that, when executed by the oneor more processors, further cause the one or more processors to, basedon analyzing the additional set of lower-sensitivity sensor data,determine that a further change in motion relative to the electronicdevice was not indicated in the additional set of lower-sensitivitysensor data, and deem, as a false positive, the detection of theadditional change in motion based on analyzing the set ofhigher-sensitivity sensor data.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying figures, where like reference numerals refer toidentical or functionally similar elements throughout the separateviews, together with the detailed description below, are incorporated inand form part of the specification, and serve to further illustrateembodiments of concepts that include the claimed embodiments, andexplain various principles and advantages of those embodiments.

FIG. 1 illustrates an example electronic device that may facilitate thedescribed features, in accordance with some embodiments.

FIG. 2 is an example diagram associated with a technique for managingsensor operation using a memory cache, in accordance with someembodiments.

FIG. 3 is an example diagram associated with another technique formanaging sensor operation using a memory cache, in accordance with someembodiments.

FIG. 4 is an example diagram associated with managing the operation ofone or more sensors, in accordance with some embodiments.

FIGS. 5A-5F illustrate example representations of interactions betweenan electronic device and a user, as well as various sensor operationsbased on the interactions, in accordance with some embodiments.

FIG. 6 is a flowchart of a method for an electronic device to managemotion detection features, in accordance with some embodiments.

FIG. 7 is a flowchart of another method for an electronic device tomanage motion detection features, in accordance with some embodiments.

FIG. 8 is a flowchart of a method for an electronic device to managesensor activity, in accordance with some embodiments.

FIG. 9 is a block diagram of an electronic device, in accordance withsome embodiments.

DETAILED DESCRIPTION

Systems and method for managing motion detection features in anelectronic device are described. According to certain aspects, anelectronic device may be configured with one or more sensors, such as aradar sensor(s), an ultrasound sensor(s), and/or others. The sensor(s)may operate in different modes according to various contexts andinstructions. Similarly, the electronic device may execute differentalgorithms and applications that process the sensor data from thesensor(s) operating in the different modes. Generally, the differentsensor modes and the different algorithms consume different amounts ofdevice resources. Accordingly, the described aspects are configured tomanage the operation of the sensor(s) and device algorithms to reduce orotherwise increase the efficiency of the resource consumption.

Generally, the electronic device may execute an initial algorithm todetect motion or other events in proximity to the electronic devicebased on sensor data generated by a given sensor. Based on the detectedmotion, the electronic device may initiate a subsequent algorithm toprocess the original sensor data and/or additional sensor data.Alternatively or additionally, the electronic device may activate anadditional sensor and process resulting data generated by the additionalsensor. The electronic device may utilize a memory cache to moreefficiently and effectively determine whether to continue execution ofthe subsequent algorithm. If the electronic device determines that thesubsequent algorithm is not needed, the electronic device may terminatethe subsequent algorithm.

By managing the operation of sensors, sensor modes, and algorithms thatprocess sensor data, the electronic device may more efficiently andeffectively manage its resource consumption. Accordingly, moreaffordable hardware components may be used and fewer hardware componentsmay be needed in the electronic device, thus lowering the costs ofmanufacturing such electronic devices. Additionally, the electronicdevice may experience longer battery life and longer device longevity.Moreover, sensor noise in the environment of such electronic devices maybe decreased. It should be appreciated that additional benefits areenvisioned.

FIG. 1 illustrates an example electronic device 100 in which thedescribed embodiments may be incorporated, and/or on which the describedembodiments may be facilitated or implemented. The electronic device 100may be any type of electronic device such as a mobile device (e.g., asmartphone), display assistant device, desktop computer, notebookcomputer, tablet, phablet, GPS (Global Positioning System) orGPS-enabled device, watch, glasses, bracelet, other wearable electronicdevice, PDA (personal digital assistant), pager, and/or the like.

The electronic device 100 may include a user interface 101 that may beembodied as a touchscreen or other type of display that may display orpresent visual content. In embodiments in which the user interface 101is a touchscreen, the user interface 101 may incorporate a set oftouch-sensitive input panels that may enable a user to make selectionsor otherwise interface with the electronic device 100. The electronicdevice 100 may further include a housing 102 in which various components(including the user interface 101) may be incorporated or contained.Additionally, the electronic device 100 may include an alternatingcurrent (AC) power component 116 configured to power the electronicdevice 100 and components thereof, where the AC power component 116 maysupply the power or otherwise receive the power from a power supply. Itshould be appreciated that additional or alternative power supplies areenvisioned, for example one or more batteries or other power supplies.

According to embodiments, the electronic device 100 may include avariety of sensors, user interface components, and/or the like. Inparticular, as depicted in FIG. 1 , the electronic device 100 mayinclude a pair of infrared image sensors 103, 109 as well as an imagesensor 104. Additionally, the electronic device 100 may include aspeaker 106 that may be configured to output audio. Further, theelectronic device 100 may include a dot projector 108 and a floodilluminator 110. According to embodiments, the pair of infrared imagesensors 103, 109, the dot projector 108, and the flood illuminator 110may be used singularly or in combination by the electronic device 100 tounlock various features of the electronic device 100 (e.g., unlock theuser interface 101), among other functionalities. Moreover, theelectronic device 100 may include an ambient light sensor (ALS) 105 thatmay support various proximity detection features. It should beappreciated that alternative and additional sensors are envisioned. Forexample, one of the sensors may be an ultrasound sensor configured toemit ultrasonic waves. Additionally, it should be appreciated that thesensors and components may be disposed in different arrangements andcombinations.

The electronic device 100 may additionally include a radar chip 107.Generally, the radar chip 107 may detect and measure properties ofremote and/or proximate objects based on their interactions with radiowaves. The radar chip 107 may include a set of transmitter componentsthat emits radio waves, which are then scattered, or redirected, byobjects within their paths, with some portion of energy reflected backand intercepted by a set of receiver components. The radar chip 107 maybe bidirectional and thus configured to emit signals in two or moredirections (e.g., in front of and in back of the electronic device 100),or directional and thus configured to emit signals in one direction(e.g., in front of the electronic device 100). A processor 115 orcontroller may examine or analyze the received waveforms to detect thepresence of objects as well as estimate certain properties of theseobjects, such as distance and size, among other properties.

Conventional radar designs rely on fine spatial resolution relative totarget size in order to resolve different objects and distinguish theirspatial structures. Such spatial resolution typically requires broadtransmission bandwidth, narrow antenna beamwidth, and large antennaarrays. According to embodiments, the radar chip 107 may employ asensing paradigm that may be based on motion, rather than spatialstructure, which may enable the radar chip 107 to be integrated in thetop of the electronic device 100 (or otherwise integrated in anotherlocation or portion of the electronic device 100). The electronic device100 may thus support algorithms, applications, and the like (generally,“algorithms”) that may not require forming a well-defined image of aspatial structure of a target, which is in contrast to an opticalimaging sensor, for example. Therefore, the algorithms may not generateor use distinguishable images of a target for certain purposes, such aspresence detection and/or gesture detection.

The processor 115 may implement various signal processing features andfunctionalities to process temporal changes in received radar signals,such as to detect and resolve subtle motions. In operation, the radarchip 107 may transmit a frequency-modulated signal in a certainfrequency or frequency range (e.g., 50-70 GHz, or other frequencies orfrequency ranges), and receive a superposition of reflections off of anearby object(s) or person(s) (generally, a “target”). The processor 115may detect a sub-millimeter-scale displacement in a position of a targetfrom one transmission to the next, which may induce a distinguishabletiming shift in the received signal(s). Over a window of multipletransmissions, these shifts may manifest as a Doppler frequency that isproportional to a velocity of the target. By resolving different Dopplerfrequencies, the signal processing features may distinguish differenttargets moving with different motion patterns. According to embodiments,the signal processing features may include a combination of customfilters and coherent integration steps that may boost the underlyingsignal-to-noise ratio (SNR), attenuate unwanted interference, anddifferentiate reflections off a target from noise and clutter. Thesesignal processing features enable the radar chip 107 to operate atlow-power within the constraints of the electronic device 100.

The electronic device 100 may support various modes or algorithms thatprocess data from the radar chip 107 and/or from other of the sensors asdescribed herein. Generally, one mode may process and analyze signalshaving a first frequency (or range of frequencies) and another of themodes may process and analyze signals having a second frequency (orrange of frequencies) different from the first frequency. For example,one of the modes may be “presence mode” that may be configured to detectthe presence of a target (e.g., a person) in proximity to the electronicdevice 100. In this example, the presence of a target may be detectedwhen the target enters a room in which the electronic device 100 islocated. Another of the modes may be “gesture mode” that may beconfigured to detect and recognize gestures performed by a person inproximity to the electronic device 100 (e.g., in front of the userinterface 101). In this example, the gestures may be “macro” gestures(e.g., a movement of a hand to switch active applications) or “micro”gestures (e.g., simulating the turning of a dial using an index fingerand thumb). Generally, the processor 115 may execute the variousalgorithms using various machine learning techniques.

The modes may operate differently and may thus have varying degrees ofaccuracy as well as varying degrees of resource consumption, includingcompute, memory, electricity, and/or thermal. For example, the gesturemode may process shorter-range waves emitted from the radar chip 107 andthe presence mode may process longer-range waves emitted from the radarchip 107. Additionally, the shorter-range waves may have a higher SNRand may be more accurate, and the longer-range waves may have a lowerSNR and may be less accurate. However, the gesture mode that processesthe shorter-range waves may have a higher resource consumption, and thepresence mode that processes the longer-range waves may have a lowerresource consumption.

The radar chip 107 may be capable of operating in multiple modessimultaneously (i.e., emitting both shorter-range and longer-range wavesover a period of time), and similarly the processor 115 of theelectronic device 100 may simultaneously execute algorithms that processthe received waveforms resulting from the emitted shorter-range andlonger-range waves. According to embodiments, longer-range radar sensingmay be accomplished by a Frequency Modulated Continuous Wave (FMCW)radar using a slower frequency sweep from a first frequency to a secondfrequency. In contrast, a shorter-range radar mode may use a fasterfrequency sweep from a first frequency to a second frequency. Toconserve resource usage, it may be advantageous to limit the amount andtypes of algorithms that the processor 115 executes. For example, incases in which a person is not actually performing gestures in proximityto the electronic device 100, it is advantageous for the processor 115to deactivate or otherwise not execute the gesture mode, such as toconserve various resources.

According to embodiments, the different sensor modes and devicealgorithms may operate based on different contexts. In particular,certain sensor modes and/or algorithms may be disabled or enabled basedon time of day, day of week/month/year, month of year, time since lastmotion detection, and/or other situations. For example, the gesture modemay be deactivated between the hours of 1:00 AM and 5:00 AM. For furtherexample, a sleep sensing mode may be deactivated between the hours of9:00 AM and 9:00 PM. As an additional example, a higher-sensitivitysensor mode may be disabled if the time since last motion detectionexceeds ten (10) minutes. Thus, resources may be conserved based onthese modes and algorithms being selectively disabled. It should beappreciated that these contexts may be static or may adjust according tousage of the electronic device 100, among other factors or conditions,or may be explicitly activated or deactivated by a user.

Further, according to embodiments, certain sensors or detections by thesensors may trigger the activation or initiation of other certain sensormodes and device algorithms. Generally, a lower-sensitivity mode havinglower resource usage for a given sensor may detect motion in proximityto the electronic device 100, and may cause a higher-sensitivity modehaving higher resource usage to initiate, where the higher-sensitivitymode may operate on that given sensor or on another sensor. Theelectronic device 100 may also initiate an algorithm that processes thehigher-sensitivity sensor data. Further, sensor data generated as aresult of the higher-sensitivity mode may be used to confirm (or notconfirm) the initially-detected motion. If additional motion isindicated in the higher-sensitivity data, the electronic device 100 maycontinue to operate the initiated algorithm and facilitate operationsand functionalities accordingly.

The electronic device 100 may include a memory 120 with which theprocessor 115 may interface. The memory 120 may include a main memoryportion as well as a cache portion for the temporary storage of certaindata that the processor 115 may access. According to embodiments, theprocessor 115 may store certain sensor data (e.g., sensor data from theradar chip 107) in the cache portion, to enable the processor 115 toconfirm certain detected movements or motion. Additionally oralternatively, the processor 115 may initiate a certain algorithm thataccesses and analyzes data stored in the cache portion to enable for themore accurate detection or recognition of motion or movement by thecertain algorithm. Because machine learning algorithms need a certainamount of time prior to accurately detecting targets and motion, thecache portion of the memory 120 enables the algorithms with access tothe needed data before the target arrives in a zone and/or performs acertain motion or gesture in that zone.

FIG. 2 is a signal diagram 200 associated with various embodiments ofthe systems and methods. The signal diagram 200 includes a memory 220(such as the memory 120 as described with respect to FIG. 1 ), aprocessor 215 (such as the processor 115 as described with respect toFIG. 1 ), and one or more sensors 225 (such as one or more of thevarious sensors as discussed with respect to FIG. 1 ). In embodiments,the sensor(s) 225 may include a single sensor (e.g., a single radarsensor), or multiple sensors (e.g., a radar sensor and an ultrasoundsensor). Further, the memory 220, the processor 215, and the sensor(s)225 may be embodied or incorporated in a single electronic device.Additionally, the memory 220 may be a hardware cache accessible by theprocessor 215 and configured to cache data for faster access by theprocessor 215. It should be appreciated that various of thefunctionalities as illustrated in the signal diagram 200 may occur atvarious times or orders relative to the other functionalities.

The signal diagram 200 may begin when the sensor(s) 225 generates (230)sensor data. For example, if the sensor 225 is a radar sensor, the radarsensor may emit radio waves and detect the resulting waveforms.According to embodiments, in generating the sensor data, the sensor(s)225 may operate in a first operating mode. For example, if the sensor225 is a radar sensor, the radar sensor may emit radio waves having alonger-range frequency, such as to detect the presence of targets in aproximity of the electronic device. The processor 215 may retrieve(232), from the sensor(s) 225, the generated sensor data. It should beappreciated that the sensor(s) 225 may continuously generate, and theprocessor 215 may continuously retrieve, the sensor data.

The processor 215 may analyze the retrieved sensor data and determine(234) whether there is motion detected. In particular, the processor 215may analyze the sensor data (e.g., received waveforms) and determine ifmotion is indicated in the sensor data. In analyzing the sensor data,the processor 215 may execute an initial algorithm, such as a motiondetection algorithm, that is configured to process the sensor dataresulting from the sensor(s) 225 operating in the first operating mode.If the processor 215 does not detect motion (“NO”), processing mayreturn to (230/232), end, or proceed to other functionality. Otherwise,if the processor 215 detects motion (“YES”), the processor 215 mayprovide (236) the sensor data to the memory 220. After receiving thesensor data, the memory 220 may store (cache) (240) the sensor data forsubsequent access by the processor 215. It should be appreciated thatthe memory 220 may cache the sensor data on a rolling basis as thesensor(s) 225 generates additional sensor data and the processor 215retrieves the additional sensor data.

After detecting motion, the processor 215 may also initiate (238) asupplemental motion recognition algorithm. According to embodiments, thesupplemental motion recognition algorithm may be different than theinitial algorithm that the processor 215 executes in detecting themotion in (234). For example, the processor 215 may detect the motion in(234) while operating in a presence mode and the supplemental motionrecognition algorithm may be associated with a gesture mode. Generally,the supplemental motion recognition algorithm may consume more resources(e.g., compute, memory, electrical, and/or thermal) than the initialalgorithm.

The processor 215 may also retrieve (242) the sensor data that is cachedin the memory 220. In certain embodiments, the processor 215 may perform(244) a “clutter removal” or background subtraction technique on thesensor data that is retrieved from the memory 220. In performing theclutter removal, the processor 215 may analyze the retrieved sensor dataand remove, from the retrieved sensor data, a portion of the data thatdoes not indicate motion. Accordingly, the remaining data may includedata that indicates (or may indicate) motion.

The processor 215, in executing the supplemental motion recognitionalgorithm, may analyze (246) the cached sensor data, with or without thebackground data (i.e., data without detected motion) removed. Inassociation with the supplemental motion recognition algorithm analyzingthe cached sensor data, the processor 215 may determine whether themotion detected in (234) is confirmed. By analyzing the cached sensordata, the supplemental motion recognition algorithm may determinewhether the motion detection in (234) by the initial algorithm was afalse positive. If the supplemental motion recognition algorithm doesnot confirm the detected motion (“NO”; i.e., the motion detection by theinitial algorithm was a false positive), processing may return to(230/232), end, or proceed to other functionality.

If the supplemental motion recognition algorithm does confirm thedetected motion (“YES”; i.e., the motion detection by the initialalgorithm was not a false positive), the processor may continueoperation of the supplemental motion recognition algorithm. Inparticular, the processor 215 may request (249) the sensor(s) 225 togenerate and provide additional sensor data. After receiving therequest, the sensor(s) 225 may generate (250) the additional sensordata. According to embodiments, the sensor(s) 225 may generate theadditional sensor data while operating in a mode different from the modethe sensor(s) 225 operated in when generating the sensor data in (230).For example, the initial sensor data generated in (230) may result fromthe sensor(s) 225 operating in a presence mode that generateslonger-range waves, and the additional sensor data generated in (250)may result from the sensor(s) 225 operating in a gesture mode thatgenerates shorter-range waves. The sensor(s) 225 may provide (251) theadditional sensor data to the processor 215.

It should be appreciated that an additional sensor other than the sensorthat generated the sensor data in (230) may generate the additionalsensor data. Thus, in this implementation, the processor 215 may request(249) the additional sensor to generate the additional sensor data, theadditional sensor may generate (250) the additional sensor data, and theadditional sensor may provide (251) the additional sensor data to theprocessor 215.

After receiving the additional sensor data, the supplemental motionrecognition algorithm executed by the processor 215 may analyze (252)the additional sensor data. In analyzing the additional sensor data, thesupplemental motion recognition algorithm may facilitate variousfunctionalities. For example, if the supplemental motion recognitionalgorithm is associated with a gesture mode, the supplemental motionrecognition algorithm may detect a specific gesture (e.g., the clockwiserotation of a dial) and facilitate a certain action based on thespecific gesture (e.g., turning up the volume of a music playbackapplication).

If the supplemental motion recognition algorithm fails to detect anadditional change in motion from the additional sensor data, theprocessor 215 may terminate the supplemental motion recognitionalgorithm. Accordingly, the processor 215 may revert to solely executingthe initial algorithm, such as to conserve various resources of theelectronic device. It should be appreciated that the processor 215 maycontinually execute the initial algorithm throughout the signal diagram200, or may terminate the initial algorithm in response to thesupplemental motion recognition algorithm confirming the motiondetection in (248).

FIG. 3 is a signal diagram 300 associated with various embodiments ofthe systems and methods. The signal diagram 300 includes a memory 320(such as the memory 120 as described with respect to FIG. 1 ), aprocessor 315 (such as the processor 115 as described with respect toFIG. 1 ), and one or more sensors 325 (such as one or more of thevarious sensors as discussed with respect to FIG. 1 ). In embodiments,the sensor(s) 325 may include a single sensor (e.g., a single radarsensor), or multiple sensors (e.g., a radar sensor and an ultrasoundsensor). Further, the memory 320, the processor 315, and the sensor(s)325 may be embodied or incorporated in a single electronic device.Additionally, the memory 320 may be a hardware cache accessible by theprocessor 315 and configured to cache data for faster access by theprocessor 315. It should be appreciated that various of thefunctionalities as illustrated in the signal diagram 300 may occur atvarious times or orders relative to the other functionalities.

The signal diagram 300 may begin when the sensor(s) 325 generates (330)first mode sensor data. For example, if the sensor 325 is a radarsensor, the radar sensor may emit radio waves and detect the resultingwaveforms. According to embodiments, in generating the first mode sensordata, the sensor(s) 325 may operate in a first operating mode having afirst sensitivity. For example, if the sensor 325 is a radar sensor, theradar sensor may emit radio waves having a longer-range frequency, suchas to detect the presence of targets in a proximity of the electronicdevice. The processor 315 may retrieve (332), from the sensor(s) 325,the generated first mode sensor data. It should be appreciated that thesensor(s) 325 may continuously generate, and the processor 315 maycontinuously retrieve, the first mode sensor data.

The processor 315 may analyze the retrieved first mode sensor data anddetermine (334) whether there is motion detected. In particular, theprocessor 315 may analyze the first mode sensor data (e.g., receivedwaveforms) and determine if motion is indicated in the first mode sensordata. In analyzing the first mode sensor data, the processor 315 mayexecute an initial motion recognition algorithm that is configured toprocess the first mode sensor data resulting from the sensor(s) 325operating in the first operating mode. If the processor 315 does notdetect motion (“NO”), processing may return to (330/332), end, orproceed to other functionality.

Otherwise, if the processor 315 detects motion (“YES”), the processor315 may request (336) the sensor(s) 325 to generate and provide secondmode sensor data. After receiving the request, the sensor(s) 325 maygenerate (338) the second mode sensor data. According to embodiments,the sensor(s) 325 may generate the second mode sensor data whileoperating in a second mode different from the first mode the sensor(s)325 operated in when generating the first mode sensor data in (330). Forexample, the first mode sensor data generated in (330) may result fromthe sensor(s) 325 operating in a presence mode that generateslonger-range waves, and the second mode sensor data generated in (338)may result from the sensor(s) 325 operating in a gesture mode thatgenerates shorter-range waves. The sensor(s) 325 may provide (340) thesecond mode sensor data to the processor 315.

In some scenarios, the determination in (334) may be based on theprocessor 315 determining whether the first mode sensor data includesmotion above a certain velocity, where this velocity may represent thelowest velocity motion that may contain a gesture. If the processor 315determines that the first mode sensor data includes motion above thecertain velocity (“YES”), processing may continue to (336). If theprocessor 315 determines that the first mode sensor data does notinclude motion above the certain velocity (“NO”), processing may returnto (330/332), end, or proceed to other functionality.

It should be appreciated that an additional sensor other than the sensorthat generated the sensor data in (330) may generate the second modesensor data. Thus, in this implementation, the processor 315 may request(336) the additional sensor to generate the second mode sensor data, theadditional sensor may generate (338) the second mode sensor data, andthe additional sensor may provide (340) the second mode sensor data tothe processor 315.

Additionally, the processor 315 may provide (342) the second mode sensordata to the memory 320. After receiving the second mode sensor data, thememory 320 may store (cache) (348) the second mode sensor data forsubsequent access by the processor 315. It should be appreciated thatthe memory 320 may cache the second mode sensor data on a rolling basisas the sensor(s) 325 generates the second mode sensor data and theprocessor 315 retrieves the second mode sensor data.

The processor 315 may retrieve (344) additional first mode sensor datathat is generated by the sensor(s) 325 operating in the first operatingmode. Additionally, the processor 315 may initiate (346) a supplementalmotion recognition algorithm. According to embodiments, the supplementalmotion recognition algorithm may be different than the initial motionrecognition algorithm that the processor 315 executes in detecting themotion in (334). For example, the processor 315 may detect the motion in(334) while operating in a presence mode and the supplemental motionrecognition algorithm may be associated with a gesture mode. Generally,the supplemental motion recognition algorithm may consume more resources(e.g., compute, memory, electrical, and/or thermal) than the initialmotion recognition algorithm.

The processor 315 may also retrieve (350) the second mode sensor datathat is cached in the memory 320. In certain embodiments, the processor315 may perform (352) a “clutter removal” or background subtractiontechnique on the second mode sensor data retrieved from the memory 320.In performing the clutter removal, the processor 315 may analyze theretrieved second mode sensor data and remove, from the retrieved secondmode sensor data, a portion of the data that does not indicate motion.Accordingly, the remaining data may include data that indicates (or mayindicate) motion.

The processor 315, executing the supplemental motion recognitionalgorithm, may analyze (354) the cached second mode sensor data, with orwithout the background data (i.e., data without detected motion)removed. In embodiments, this step enables the supplemental motionrecognition algorithm access to the initially-detected motion data inadvance of a target being located in a zone tailored to the supplementalmotion recognition algorithm, which may improve the motion detection andrecognition features of the supplemental motion recognition algorithm.Additionally, the processor 315, in executing the initial motionrecognition algorithm, may analyze (356) the additional first modesensor data. Accordingly, the processor 315 may concurrently execute theinitial motion recognition algorithm and the supplemental motionrecognition algorithm.

The processor 315 may retrieve (358), from the sensor(s) 325, additionalsecond mode sensor data, where the additional second mode sensor data isgenerated by the sensor(s) 325 operating in the second mode. Theprocessor 315 may also execute the supplemental motion recognitionalgorithm to analyze the additional second mode sensor data and, basedon the analysis, determine (360) whether there is motion detected.According to embodiments, if the processor 315 detects motion based onthe additional second mode sensor data, there may be a target in thezone tailored to the supplemental motion recognition algorithm. Forexample, the supplemental motion recognition algorithm may be associatedwith a gesture mode, and the detected motion be associated with agesture performed by a target. By analyzing both the initial (cached)second mode sensor data and the additional second mode sensor data, thesupplemental motion recognition algorithm may experience improvedaccuracy with motion detection and recognition. In some scenarios, forexample, a first motion algorithm may initiate a second algorithm whenthe first motion algorithm detects motion above a certain velocity,where this velocity may represent the lowest velocity motion that maycontain a gesture. Additionally, the second algorithm, once activated,may search/analyze the cached data to determine if the cached datacontains or includes a gesture.

If the processor 315 detects motion (“YES”), the processor 315 maycontinue to retrieve and analyze additional second mode sensor data. Ifthe processor 315 does not detect motion (“NO”), the processor 315 mayterminate (362) the supplemental motion recognition algorithm.Accordingly, the electronic device may experience improved resourcesavings by not executing the supplemental motion recognition algorithmwhen the second mode sensor data does not indicate motion that thesupplemental motion recognition algorithm typically processes. Thus, theprocessor 315 may revert to solely executing the initial motionrecognition algorithm, such as to conserve various resources of theelectronic device.

FIG. 4 is a signal diagram 400 associated with various embodiments ofthe systems and methods. The signal diagram 400 includes a processor 415(such as the processor 115 as described with respect to FIG. 1 ) and oneor more sensors 425 (such as one or more of the various sensors asdiscussed with respect to FIG. 1 ). In embodiments, the processor 415and the sensor(s) 425 may be embodied or incorporated in a singleelectronic device. It should be appreciated that various of thefunctionalities as illustrated in the signal diagram 400 may occur atvarious times or orders relative to the other functionalities.

In a first implementation, the sensor(s) 425 may be two separatesensors. For example, the sensors 425 may include a radar sensorconfigured to detect gross motion and an ultrasound sensor configured todetect breathing rate. In this implementation, a first sensor of thesensor(s) 425 may be a lower-sensitivity sensor and may correspondinglygenerate lower-sensitivity sensor data having a lower false positiverate; and a second sensor of the sensor(s) 425 may be ahigher-sensitivity sensor and may correspondingly generatehigher-sensitivity sensor data having a higher false positive rate.Further, in this implementation, the first sensor may be bidirectionaland thus configured to emit signals in two or more directions (e.g., infront of and in back of the electronic device), and the second sensormay be directional and thus configured to emit signals in one direction(e.g., in front of the electronic device). It should be appreciated thatboth sensors may be either bidirectional or directional.

In a second implementation, the sensor(s) 425 may be a single sensor,for example a radar sensor. In this implementation, the single sensormay operate in multiple modes: a first mode that generateslower-sensitivity data having a lower false positive rate (e.g., a longrange radar configuration), and a second mode that generateshigher-sensitivity data having a higher false positive rate (e.g., ashort range radar configuration). Therefore, although FIG. 4 isillustrated as though a single sensor is interfacing with the processor415 and generating both the lower-sensitivity and the higher-sensitivitysensor data, it should be appreciated that multiple sensors mayinterface with the processor 415 and respectively generate therespective sensor data.

The signal diagram 400 may begin when the sensor(s) 425 generates (430)a set of lower-sensitivity sensor data. For example, if the sensor 425is a radar sensor, the radar sensor may emit radio waves and detect theresulting waveforms. According to embodiments, in generating the sensordata, the sensor(s) 425 may operate in a first operating mode. Forexample, if the sensor 425 is a radar sensor, the radar sensor may emitradio waves having a longer-range frequency, such as to detect thepresence of targets in a proximity of the electronic device. Theprocessor 415 may retrieve (432), from the sensor(s) 425, the generatedlower-sensitivity sensor data. It should be appreciated that thesensor(s) 425 may continuously generate, and the processor 415 maycontinuously retrieve, the lower-sensitivity sensor data.

The processor 415 may analyze the retrieved lower-sensitivity sensordata and determine (434) whether there is motion detected. Inparticular, the processor 415 may analyze the lower-sensitivity sensordata (e.g., received waveforms) and determine if motion is indicated inthe lower-sensitivity sensor data. In analyzing the lower-sensitivitysensor data, the processor 415 may execute an initial algorithm, such asa motion detection algorithm, that is configured to process thelower-sensitivity sensor data resulting from the sensor(s) 425 operatingin the first operating mode. If the processor 415 does not detect motion(“NO”), processing may return to (430/432), end, or proceed to otherfunctionality.

Otherwise, if the processor 415 detects motion (“YES”), the processor415 may start (435) a timeout window, where the timeout window may bevarious lengths (e.g., ten seconds, twenty seconds, or other lengths oftime). Additionally, the processor 415 may request (436) the sensor(s)425 to generate and provide higher-sensitivity sensor data. Afterreceiving the request, the sensor(s) 425 may generate (438) thehigher-sensitivity sensor data.

According to embodiments, the sensor(s) 425 may generate thehigher-sensitivity sensor data while operating in a subsequent modedifferent from the first operating mode the sensor(s) 425 operated inwhen generating the lower-sensitivity sensor data in (430). For example,the lower-sensitivity sensor data generated in (430) may result from thesensor(s) 425 operating in a presence mode that generates longer-rangewaves, and the higher-sensitivity sensor data generated in (438) mayresult from the sensor(s) 425 operating in a gesture mode that generatesshorter-range waves. It should be appreciated that different sensors maygenerate the lower-sensitivity sensor data and the higher-sensitivitysensor data.

The sensor(s) 425 may provide (442) the higher-sensitivity sensor datato the processor 415. Additionally, the processor 425 may retrieve(444), from the sensor(s) 425, additional lower-sensitivity sensor data.According to embodiments, the sensor(s) 425 may continue operation ofthe first operating mode, where the sensor(s) 425 may continuouslygenerate, and the processor 415 may retrieve, lower-sensitivity sensordata.

The processor 415 may analyze (446) the additional lower-sensitivity andthe higher-sensitivity sensor data. In analyzing the additionallower-sensitivity sensor data, the processor 415 may execute the initialalgorithm that is configured to process the lower-sensitivity sensordata resulting from the sensor(s) 425 operating in the first operatingmode. Further, in analyzing the higher-sensitivity sensor data, theprocessor 415 may execute a subsequent algorithm that is configured toprocess the higher-sensitivity sensor data resulting from the sensor(s)425 operating in the subsequent operating mode. The processor 415 mayanalyze the higher-sensitivity sensor data to confirm (447) the changein motion that the processor 415 detects in (434). According toembodiments, the processor 415 may confirm the change in motion bydetecting a separate or subsequent change in motion that is indicated inthe higher-sensitivity sensor data, which may be a continuation of orrelated to the motion detected in (434).

At (448), the processor 415 may determine if the time window started in(435) is expired. For example, if the time window is ten seconds, thetime window expires after ten seconds have elapsed. If the time windowis not expired (“NO”), processing may return to (442) where additionallower-sensitivity sensor data and higher-sensitivity sensor data may beretrieved and analyzed. According to embodiments, the sensor(s) 425 maycontinue to generate, and the processor 415 may continue to analyze, thehigher-sensitivity and the lower-sensitivity sensor data.

If the time window is expired (“YES”), the processor 415 may determine(450) whether additional motion is detected. According to embodiments,in determining whether additional motion is detected, the processor 415may analyze the additional set of lower-sensitivity sensor data. Thatis, the processor 415 may determine whether additional motion isdetected from the additional lower-sensitivity sensor data that isretrieved in (444) after the timeout window is started. If the processor415 detects additional motion (“YES”), processing may end, repeat, orproceed to other functionality. In an embodiment, the processor 415 maycontinue to retrieve and analyze higher-sensitivity sensor datagenerated by the sensor(s) 425 operating in the subsequent operatingmode, and facilitate functionalities accordingly. Additionally, theprocessor 415 may continually determine whether additional motion isdetected, and if not, may proceed to (452).

If the processor 415 does not detect additional motion (“NO”), theprocessor 415 may deem (452), as a false positive, the confirmation ofthe change in motion from (447). In other words, by the processor 415not detecting additional motion from the additional lower-sensitivitysensor data, the processor 415 may deem the motion confirmed from thehigher-sensitivity sensor data to be a false positive. The processor 415may further terminate (454) the subsequent algorithm that processes thehigher-sensitivity sensor data. Additionally, the processor 415 mayrequest (456) the sensor(s) 225 to cease generating thehigher-sensitivity sensor data. Processing may then end, repeat, orproceed to other functionality.

FIGS. 5A-5F illustrate example representations of interactions betweenan electronic device and a user, as well as various sensor operationsbased on the interactions. In each of FIGS. 5A-5F, a user 503 is shownat a certain relative distance from a device 502, where a distance scale504 generally illustrates how far the user 503 is from the device 502(e.g., short range, medium range, long range, out of range, or somewherein between). Additionally, each of FIGS. 5A-5F depicts a frequency(ies)at which a radar sensor emits waves, as well as an amplitude ofultrasonic waves emitted by an ultrasound sensor. The representations ofFIGS. 5A-5F may be read sequentially as the user 503 moves from out ofrange of the device 502 to within a short range of the device 502. Itshould be appreciated that the representations depicted in FIGS. 5A-5Fare merely examples and that additional or alternative representationsare envisioned.

FIG. 5A illustrates a representation 500 of the user 503 who ispositioned out of range from the device 502. In this configuration, theradar sensor emits (501) longer-range waves, which generally have alower SNR (i.e., are less accurate) and allow detection of objects at afurther distance from the device 502. Additionally, the ultrasoundsensor may be off (505).

FIG. 5B illustrates a representation 506 of the user 503 who ispositioned at a long range from the device 502. In this configuration,the radar sensor still emits (507) longer-range waves, as the user 503is still located a long range from the device 502. Additionally, theultrasound sensor remains off (508).

FIG. 5C illustrates a representation 510 of the user 503 who approachesa medium range from the device 502. In this configuration, the radarsensor emits (511) both longer-range waves and medium-range waves.According to embodiments, the radar sensor may emit the longer-range andmedium-range waves within a transmission window, such as in analternating or sequential fashion. By the radar sensor emitting themedium-range waves before the user 503 is positioned a medium range fromthe device 502, the device 502 may begin to analyze the resulting senseddata in association with an algorithm that processes medium-range waves(e.g., a gesture mode). Additionally, the device 502 may activate theultrasound sensor which can emit (512) higher-amplitude ultrasonicwaves.

FIG. 5D illustrates a representation 515 of the user 503 who ispositioned a medium range from the device 502. In this configuration,the radar sensor emits (516) longer-range waves, medium-range waves, andshorter-range waves. According to embodiments, the radar sensor may emitthe longer-range, medium-range, and shorter-range waves within atransmission window, such as in an alternating or sequential fashion. Bythe radar sensor emitting both the shorter-range and medium-range waves,the device 502 may begin to analyze the resulting sensed data inassociation with an algorithm(s) that processes medium-range and/orshort-range waves (e.g., a “gross” gesture mode and/or a “micro” gesturemode). Additionally, the ultrasound sensor may emit (517)higher-amplitude ultrasonic waves.

FIG. 5E illustrates a representation 520 of the user 503 who approachesa short range from the device 502. In this configuration, the radarsensor emits (521) longer-range waves, medium-range waves, andshorter-range waves. Compared to the emission (516) of FIG. 5D, theemission (521) of FIG. 5E may include more shorter-range waves (and/orfewer longer-range and/or medium-range waves). According to embodiments,the radar sensor may emit the longer-range, medium-range, andshorter-range waves within a transmission window, such as in analternating or sequential fashion. By the radar sensor emitting both theshorter-range and medium-range waves, the device 502 may begin toanalyze the resulting sensed data in association with an algorithm(s)that processes medium-range and/or short-range waves (e.g., a “gross”gesture mode and/or a “micro” gesture mode). Additionally, theultrasound sensor may emit (522) medium-amplitude ultrasonic waves.

FIG. 5F illustrates a representation 525 of the user 503 who ispositioned a short range from the device 502. In this configuration, theradar sensor emits (526) longer-range waves and shorter-range waves.Compared to the emission (516) of FIG. 5D and the emission (521) of FIG.5E, the emission (526) of FIG. 5F may include more shorter-range waves(and/or fewer or no longer-range and/or medium-range waves). Accordingto embodiments, the radar sensor may emit the longer-range andshorter-range waves within a transmission window, such as in analternating or sequential fashion. By the radar sensor emitting theshorter-range waves, the device 502 may begin to analyze the resultingsensed data in association with an algorithm(s) that processes theshort-range waves (e.g., a “micro” gesture mode). Additionally, by theradar sensor emitting the longer-range waves, the device 502 may stilloperate a presence mode configured to detect additional objects as wellas continue consuming sensor data in case the user 503 retreats from thedevice 502. Moreover, the ultrasound sensor may emit (527)lower-amplitude ultrasonic waves.

FIG. 6 is a flowchart of a method 600 for an electronic device to managemotion detection features. The method 600 begins with the electronicdevice retrieving (block 605), from a sensor of the electronic device, aset of sensor data. According to embodiments, the sensor may be a radarsensor, an ultrasound sensor, or another type of sensor. The electronicdevice may analyze the set of sensor data and determine (block 610) ifmotion is detected (i.e., if the set of sensor data indicates a changein motion of a target relative to the electronic device). In analyzingthe set of sensor data, the electronic device may execute an initialmotion recognition algorithm that may generally consume a lower amountof resources.

If the electronic device does not detect motion (“NO”), processing mayreturn to block 605, end, or proceed to other functionality. If theelectronic device detects motion (“YES”), the electronic device maycache (block 615) the set of sensor data in memory. Generally, theelectronic device may retrieve and cache the set of sensor data on arolling basis as the sensor generates the set of sensor data.Additionally, the electronic device may remove (block 620) at least aportion of the set of sensor data that was cached, for example using abackground subtraction or clutter removal technique. The removed sensordata may be sensor data that does not indicate motion.

The electronic device may initiate (block 625) a supplemental motionrecognition algorithm. According to embodiments, the supplemental motionrecognition algorithm may generally consume a higher amount of resourcesthan does the initial motion recognition algorithm. The electronicdevice may analyze (block 630), by the supplemental motion recognitionalgorithm, the set of sensor data that was cached and that had at leastthe portion removed therefrom.

Based on the analysis of block 630, the electronic device may determine(block 635) whether the change in motion detected in block 610 isconfirmed (i.e., whether the change in motion detected in block 610 isnot a false positive). If the electronic device determines that thechange in motion is not confirmed (“NO”), processing may return to block605, end, or proceed to other functionality. Additionally, theelectronic device may terminate the supplemental motion recognitionalgorithm.

If the electronic device determines that the change in motion isconfirmed (“YES”), the electronic device may retrieve (block 640), fromthe sensor, an additional set of sensor data. In another implementation,the electronic device may retrieve the additional set of sensor datafrom an additional (i.e., different) sensor. The electronic device mayanalyze (block 645), by the supplemental motion recognition algorithm,the additional set of sensor data, and facilitate variousfunctionalities of the electronic device accordingly.

Based on the analysis of block 645, the electronic device may determine(block 650) whether there is an additional change in motion detected.According to embodiments, the additional change in motion may beindicative of performed gestures or other user movements performed inproximity to the electronic device. If the electronic device detects theadditional change in motion (“YES”), processing may return to block 640,or proceed to other functionality. If the electronic device does notdetect the additional change in motion (“NO”), processing may end,repeat, or proceed to other functionality. Additionally, if theelectronic device does not detect the additional change in motion, theelectronic device may terminate the supplemental motion recognitionalgorithm.

FIG. 7 is a flowchart of another method 700 for an electronic device tomanage motion detection features. The method 700 begins with theelectronic device retrieving (block 705), from a sensor of theelectronic device operating in a first sensitivity mode, a first set offirst mode sensor data. According to embodiments, the sensor may be aradar sensor, an ultrasound sensor, or another type of sensor. Theelectronic device may analyze the first set of first mode sensor dataand determine (block 710) if motion is detected (i.e., if the first setof first mode sensor data indicates a change in motion of a targetrelative to the electronic device). In analyzing the first set of firstmode sensor data, the electronic device may execute an initial motionrecognition algorithm that may generally consume a lower amount ofresources.

If the electronic device does not detect motion (“NO”), processing mayreturn to block 705, end, or proceed to other functionality. If theelectronic device detects motion (“YES”), the electronic device mayretrieve (block 715), from the sensor operating in a second sensitivitymode, a set of second mode sensor data. Additionally, the electronicdevice may cache (block 720) the set of second mode sensor data inmemory. Further, the electronic device may remove (block 725) at least aportion of the set of second mode sensor data that was cached, forexample using a background subtraction or clutter removal technique. Theremoved sensor data may be sensor data that does not indicate motion.

The electronic device may retrieve (block 730), from the sensoroperating in the first sensitivity mode, a second set of first modesensor data. Further, electronic device may analyze, by the initialmotion recognition algorithm, the second set of first mode sensor data.Thus, the sensor may continue to operate in the first sensitivity mode,and the initial motion recognition algorithm may continue to analyze theresulting sensor data.

The electronic device may also initiate (block 735) a supplementalmotion recognition algorithm. According to embodiments, the supplementalmotion recognition algorithm may generally consume a higher amount ofresources than does the initial motion recognition algorithm. Theelectronic device may analyze (block 740), by the supplemental motionrecognition algorithm, the set of second mode sensor data that wascached and that had at least the portion removed therefrom. Further, theelectronic device may retrieve (block 745), from the sensor operating inthe second sensitivity mode, an additional set of second mode sensordata, and analyze, using the supplemental motion recognition algorithm,the additional set of second mode sensor data.

Based on this analysis, the electronic device may determine (block 750)whether there is additional motion detected (i.e., whether theadditional set of second mode sensor data indicates motion). If theelectronic device determines that additional motion is detected (“YES”),processing may return to block 745, end, or proceed to otherfunctionality. If the electronic device determines that additionalmotion is not detected (“NO”), the electronic device may terminate(block 755) the supplemental motion recognition algorithm.

FIG. 8 is a flowchart of a method 800 for an electronic device to managesensor activity. The method 800 begins with the electronic deviceretrieving (block 805), from a sensor of the electronic device operatingin a lower-sensitivity mode, a set of lower-sensitivity sensor data.According to embodiments, the sensor may be a radar sensor, anultrasound sensor, or another type of sensor. The electronic device mayanalyze the set of lower-sensitivity sensor data and determine (block810) if motion is detected (i.e., if the set of lower-sensitivity sensordata indicates a change in motion of a target relative to the electronicdevice). In analyzing the set of lower-sensitivity sensor data, theelectronic device may execute an initial algorithm that may generallyconsume a lower amount of resources.

If the electronic device does not detect motion (“NO”), processing mayreturn to block 805, end, or proceed to other functionality. If theelectronic device detects motion (“YES”), the electronic device maystart (815) a timeout window, which may vary in length (e.g., tenseconds, one minute, etc.). Further, the electronic device may retrieve(block 820), from the sensor operating in a higher-sensitivity mode, aset of higher-sensitivity sensor data. According to embodiments, theelectronic device may request the sensor to generate the set ofhigher-sensitivity sensor data and initiate a subsequent algorithm thatprocesses the set of higher-sensitivity sensor data and that maygenerally consume a higher amount of resources than does the initialalgorithm. Additionally, the sensor may continue to operate in thelower-sensitivity mode, and the electronic device may retrieve (block825), from the sensor operating in the lower-sensitivity mode, anadditional set of lower-sensitivity sensor data.

The electronic device may analyze (block 830) the set ofhigher-sensitivity sensor data and the additional set oflower-sensitivity sensor data. In particular, the electronic device mayanalyze the set of higher-sensitivity sensor data using the subsequentalgorithm and analyze the additional set of lower-sensitivity sensordata using the initial algorithm. Based on analyzing the set ofhigher-sensitivity sensor data, the electronic device may confirm (block835) the change in motion that was detected in block 810. In confirmingthe change in motion, the electronic device may detect a subsequentchange in motion relative to the electronic device, which may beseparate from or a continuation of the change in motion that wasdetected in block 810, where the change in motion may be associated withthe same or different target. In some situations, the electronic devicemay not confirm the change in motion as a result of analyzing the set ofhigher-sensitivity sensor data.

At block 840, the electronic device may determine whether the timeoutwindow has expired. If the timeout window has not expired (“NO”),processing may return to block 820, end, or proceed to otherfunctionality. If the timeout window has expired (“YES”), processing mayproceed to block 845 at which the electronic device may determine, basedon analyzing the additional set of lower-sensitivity sensor data,whether an additional change in motion relative to the electronic devicewas detected. If the electronic device detects the additional change inmotion (“YES”), processing may end, repeat, or proceed to otherfunctionality.

If the electronic device does not detect the additional change in motion(“NO”), the electronic device may deem (block 850), as a false positive,the confirmation of the change in motion from block 835. Additionally,the electronic device may terminate (block 855) the subsequent algorithmthat processes the higher-sensitivity sensor data. Further, inembodiments, the electronic device may request the sensor to ceasegenerating the set of higher-sensitivity sensor data.

Although FIG. 8 describes the method 800 as operating using a singlesensor, it should be appreciated that the method 800 may operate usingmultiple sensors. In particular, a first sensor may operate in thelower-sensitivity mode and generate the lower-sensitivity sensor data,and a second, different sensor may operate in the higher-sensitivitymode and generate the higher-sensitivity sensor data.

FIG. 9 illustrates an example electronic device 945 in which thefunctionalities as discussed herein may be implemented. The electronicdevice 945 may include a processor 981 or other similar type ofcontroller module or microcontroller, as well as a memory 978. Theelectronic device 945 may further include an AC power component 963 orother type of power source (e.g., one or more batteries) configured tosupply or provide power to the electronic device 945 and componentsthereof.

The memory 978 may store an operating system 979 capable of facilitatingthe functionalities as discussed herein as well as a cache 980configured to store/cache various sensor data and/or other data. Theprocessor 981 may interface with the memory 978 to execute the operatingsystem 979 and retrieve data from the cache 980, as well as execute aset of applications 971 such as one or more motion detectionapplications 972 (which the memory 978 can also store). For example, themotion detection applications 972 may include multiple motion detectionalgorithms configured to analyze various types of sensor data. Thememory 978 can include one or more forms of volatile and/ornon-volatile, fixed and/or removable memory, such as read-only memory(ROM), electronic programmable read-only memory (EPROM), random accessmemory (RAM), erasable electronic programmable read-only memory(EEPROM), and/or other hard drives, flash memory, MicroSD cards, andothers.

The electronic device 945 may further include a communication module 975configured to interface with the one or more external ports 973 tocommunicate data via one or more networks 950. For example, thecommunication module 975 may leverage the external ports 973 toestablish TCP connections for connecting the electronic device 945 toother electronic devices via a Wi-Fi Direct connection. According tosome embodiments, the communication module 975 may include one or moretransceivers functioning in accordance with IEEE standards, 3GPPstandards, or other standards, and configured to receive and transmitdata via the one or more external ports 973. More particularly, thecommunication module 975 may include one or more WWAN transceiversconfigured to communicate with a wide area network including one or morecell sites or base stations to communicatively connect the electronicdevice 945 to additional devices or components. Further, thecommunication module 945 may include one or more WLAN and/or WPANtransceivers configured to connect the electronic device 945 to localarea networks and/or personal area networks, such as a Bluetooth®network.

The electronic device 945 may further include a set of sensors 964. Inparticular, the set of sensors 964 may include one or more radar sensors965, one or more ultrasound sensors 966, one or more proximity sensors967, one or more image sensors 969, and/or one or more other sensors 969(e.g., accelerometers, touch sensors. NFC components, etc.). Theelectronic device 945 may include an audio module 977 including hardwarecomponents such as a speaker 985 for outputting audio and a microphone986 for detecting or receiving audio. The electronic device 945 mayfurther include a user interface 974 to present information to the userand/or receive inputs from the user. As shown in FIG. 9 , the userinterface 974 includes a display screen 987 and I/O components 988(e.g., capacitive or resistive touch-sensitive input panels, keys,buttons, lights. LEDs, cursor control devices, haptic devices, andothers). The user interface 974 may also include the speaker 985 and themicrophone 986. In embodiments, the display screen 987 is a touchscreendisplay using singular or combinations of display technologies and mayinclude a thin, transparent touch sensor component superimposed upon adisplay section that is viewable by a user. For example, such displaysinclude capacitive displays, resistive displays, surface acoustic wave(SAW) displays, optical imaging displays, and the like.

In general, a computer program product in accordance with an embodimentincludes a computer usable storage medium (e.g., standard random accessmemory (RAM), an optical disc, a universal serial bus (USB) drive, orthe like) having computer-readable program code embodied therein,wherein the computer-readable program code is adapted to be executed bythe processor 981 (e.g., working in connection with the operating system979) to facilitate the functions as described herein. In this regard,the program code may be implemented in any desired language, and may beimplemented as machine code, assembly code, byte code, interpretablesource code or the like (e.g., via C, C++. Java, Actionscript,Objective-C, Javascript, CSS, XML, and/or others).

Throughout this specification, plural instances may implementcomponents, operations, or structures described as a single instance.Although individual operations of one or more methods are illustratedand described as separate operations, one or more of the individualoperations may be performed concurrently, and nothing requires that theoperations be performed in the order illustrated. Structures andfunctionality presented as separate components in example configurationsmay be implemented as a combined structure or component. Similarly,structures and functionality presented as a single component may beimplemented as separate components. These and other variations,modifications, additions, and improvements fall within the scope of thesubject matter of the present disclosure.

Additionally, certain embodiments are described herein as includinglogic or a number of components, modules, or mechanisms. Modules mayconstitute either software modules (e.g., code stored on amachine-readable medium) or hardware modules. A hardware module istangible unit capable of performing certain operations and may beconfigured or arranged in a certain manner. In example embodiments, oneor more computer systems (e.g., a standalone, client or server computersystem) or one or more hardware modules of a computer system (e.g., aprocessor or a group of processors) may be configured by software (e.g.,an application or application portion) as a hardware module thatoperates to perform certain operations as described herein.

In various embodiments, a hardware module may be implementedmechanically or electronically. For example, a hardware module maycomprise dedicated circuitry or logic that is permanently configured(e.g., as a special-purpose processor, such as a field programmable gatearray (FPGA) or an application-specific integrated circuit (ASIC)) toperform certain operations. A hardware module may also compriseprogrammable logic or circuitry (e.g., as encompassed within ageneral-purpose processor or other programmable processor) that istemporarily configured by software to perform certain operations. Itwill be appreciated that the decision to implement a hardware modulemechanically, in dedicated and permanently configured circuitry, or intemporarily configured circuitry (e.g., configured by software) may bedriven by cost and time considerations.

Accordingly, the term hardware should be understood to encompass atangible entity, be that an entity that is physically constructed,permanently configured (e.g., hardwired), or temporarily configured(e.g., programmed) to operate in a certain manner or to perform certainoperations described herein. As used herein “hardware-implementedmodule” refers to a hardware module. Considering embodiments in whichhardware modules are temporarily configured (e.g., programmed), each ofthe hardware modules need not be configured or instantiated at any oneinstance in time. For example, where the hardware modules comprise ageneral-purpose processor configured using software, the general-purposeprocessor may be configured as respective different hardware modules atdifferent times. Software may accordingly configure a processor, forexample, to constitute a particular hardware module at one instance oftime and to constitute a different hardware module at a differentinstance of time.

Hardware modules can provide information to, and receive informationfrom, other hardware. Accordingly, the described hardware modules may beregarded as being communicatively coupled. Where multiple of suchhardware modules exist contemporaneously, communications may be achievedthrough signal transmission (e.g., over appropriate circuits and buses)that connect the hardware modules. In embodiments in which multiplehardware modules are configured or instantiated at different times,communications between such hardware modules may be achieved, forexample, through the storage and retrieval of information in memorystructures to which the multiple hardware modules have access. Forexample, one hardware module may perform an operation and store theoutput of that operation in a memory device to which it iscommunicatively coupled. A further hardware module may then, at a latertime, access the memory device to retrieve and process the storedoutput. Hardware modules may also initiate communications with input oroutput devices, and can operate on a resource (e.g., a collection ofinformation).

The methods 600, 700, 800 may include one or more function blocks,modules, individual functions or routines in the form of tangiblecomputer-executable instructions that are stored in a non-transitorycomputer-readable storage medium and executed using a processor of acomputing device (e.g., a server device, a personal computer, asmartphone, a tablet computer, a watch, a mobile computing device, orother client computing device, as described herein). The methods 600,700, 800 may be included as part of any backend server, client computingdevice modules of the example environment, for example, or as part of amodule that is external to such an environment. Though the figures maybe described with reference to the other figures for ease ofexplanation, the methods 600, 700, 800 can be utilized with otherobjects and user interfaces. Furthermore, although the explanation abovedescribes steps of the methods 600, 700, 800 being performed by specificdevices, this is done for illustration purposes only. The blocks of themethods 600, 700, 800 may be performed by one or more devices or otherparts of the environment.

The various operations of example methods described herein may beperformed, at least partially, by one or more processors that aretemporarily configured (e.g., by software) or permanently configured toperform the relevant operations. Whether temporarily or permanentlyconfigured, such processors may constitute processor-implemented modulesthat operate to perform one or more operations or functions. The modulesreferred to herein may, in some example embodiments, compriseprocessor-implemented modules.

Similarly, the methods or routines described herein may be at leastpartially processor-implemented. For example, at least some of theoperations of a method may be performed by one or more processors orprocessor-implemented hardware modules. The performance of certain ofthe operations may be distributed among the one or more processors, notonly residing within a single machine, but deployed across a number ofmachines. In some example embodiments, the processor or processors maybe located in a single location (e.g., within a home environment, anoffice environment or as a server farm), while in other embodiments theprocessors may be distributed across a number of locations.

The one or more processors may also operate to support performance ofthe relevant operations in a “cloud computing” environment or as anSaaS. For example, as indicated above, at least some of the operationsmay be performed by a group of computers (as examples of machinesincluding processors), these operations being accessible via a network(e.g., the Internet) and via one or more appropriate interfaces (e.g.,APIs).

Still further, the figures depict some embodiments of the exampleenvironment for purposes of illustration only. One skilled in the artwill readily recognize from the following discussion that alternativeembodiments of the structures and methods illustrated herein may beemployed without departing from the principles described herein.

Upon reading this disclosure, those of skill in the art will appreciatestill additional alternative structural and functional designs formanaging sensor operation through the disclosed principles herein. Thus,while particular embodiments and applications have been illustrated anddescribed, it is to be understood that the disclosed embodiments are notlimited to the precise construction and components disclosed herein.Various modifications, changes and variations, which will be apparent tothose skilled in the art, may be made in the arrangement, operation anddetails of the method and apparatus disclosed herein without departingfrom the spirit and scope defined in the appended claims.

What is claimed is:
 1. A method for controlling an electronic device,the method comprising: obtaining a first set of sensor data from asensor operating in a long-range mode; detecting, based on the first setof sensor data and a first motion recognition algorithm, that a targetis moving within a first range of the electronic device; in response todetecting that the target is moving within the first range of theelectronic device, obtaining a second set of sensor data from the sensoroperating in a short-range mode or medium-range mode; and detecting,based on the second set of sensor data and a second motion recognitionalgorithm, that the target is moving within a second range of theelectronic device, the second range less than the first range.
 2. Themethod of claim 1, wherein the sensor is a radar sensor.
 3. The methodof claim 1, wherein a frequency of radio waves emitted by the sensoroperating in the long-range mode is different from a frequency of radiowaves emitted by the sensor operating in the short-range mode ormedium-range mode.
 4. The method of claim 1, wherein detecting, based onthe first set of sensor data and the first motion recognition algorithm,that the target is moving within the first range of the electronicdevice comprises detecting that the target is moving within the firstrange of the electronic device at a velocity exceeding a firstpredetermined velocity.
 5. The method of claim 1, wherein a set ofresources of the electronic device utilized to execute the second motionrecognition algorithm is less than a set of resources of the electronicdevice utilized to execute the first motion recognition algorithm. 6.The method of claim 1, further comprising: obtaining a third set ofsensor data from the sensor operating in the short-range mode ormedium-range mode; and detecting, based on the third set of sensor dataand the second motion recognition algorithm, that the target is movingwithin a third range of the electronic device, the third range less thanthe second range.
 7. The method of claim 1, wherein detecting, based onthe second set of sensor data and the second motion recognitionalgorithm, that the target is moving within the second range of theelectronic device comprises detecting that the target is moving withinthe second range of the electronic device at a velocity exceeding avelocity indicative of a gesture.
 8. An electronic device comprising: asensor; a memory; and a processor interfaced with the sensor and thememory, and configured to: obtaining a first set of sensor data from asensor operating in a long-range mode; detecting, based on the first setof sensor data and a first motion recognition algorithm, that a targetis moving within a first range of the electronic device; in response todetecting that the target is moving within the first range of theelectronic device, obtaining a second set of sensor data from the sensoroperating in a short-range mode or medium-range mode; and detecting,based on the second set of sensor data and a second motion recognitionalgorithm, that the target is moving within a second range of theelectronic device, the second range less than the first range.
 9. Theelectronic device of claim 8, wherein the sensor is a radar sensor. 10.The electronic device of claim 8, wherein a frequency of radio wavesemitted by the sensor operating in the long-range mode is different froma frequency of radio waves emitted by the sensor operating in theshort-range mode or medium-range mode.
 11. The electronic device ofclaim 8, wherein detecting, based on the first set of sensor data andthe first motion recognition algorithm, that the target is moving withinthe first range of the electronic device comprises detecting that thetarget is moving within the first range of the electronic device at avelocity exceeding a first predetermined velocity.
 12. The electronicdevice of claim 8, wherein a set of resources of the electronic deviceutilized to execute the second motion recognition algorithm is less thana set of resources of the electronic device utilized to execute thefirst motion recognition algorithm.
 13. The electronic device of claim8, the processor further configured to: obtaining a third set of sensordata from the sensor operating in the short-range mode or medium-rangemode; and detecting, based on the third set of sensor data and thesecond motion recognition algorithm, that the target is moving within athird range of the electronic device, the third range less than thesecond range.
 14. The electronic device of claim 8, wherein detecting,based on the second set of sensor data and the second motion recognitionalgorithm, that the target is moving within the second range of theelectronic device comprises detecting that the target is moving withinthe second range of the electronic device at a velocity exceeding avelocity indicative of a gesture.
 15. One or more non-transitorycomputer-readable media storing computer-readable instructions that,when executed by a processing system, cause an electronic device toperform a method comprising: obtaining a first set of sensor data from asensor operating in a long-range mode; detecting, based on the first setof sensor data and a first motion recognition algorithm, that a targetis moving within a first range of the electronic device; in response todetecting that the target is moving within the first range of theelectronic device, obtaining a second set of sensor data from the sensoroperating in a short-range mode or medium-range mode; and detecting,based on the second set of sensor data and a second motion recognitionalgorithm, that the target is moving within a second range of theelectronic device, the second range less than the first range.
 16. Theone or more non-transitory computer-readable media of claim 15, whereina frequency of radio waves emitted by the sensor operating in thelong-range mode is different from a frequency of radio waves emitted bythe sensor operating in the short-range mode or medium-range mode. 17.The one or more non-transitory computer-readable media of claim 15,wherein detecting, based on the first set of sensor data and the firstmotion recognition algorithm, that the target is moving within the firstrange of the electronic device comprises detecting that the target ismoving within the first range of the electronic device at a velocityexceeding a first predetermined velocity.
 18. The one or morenon-transitory computer-readable media of claim 15, wherein a set ofresources of the electronic device utilized to execute the second motionrecognition algorithm is less than a set of resources of the electronicdevice utilized to execute the first motion recognition algorithm. 19.The one or more non-transitory computer-readable media of claim 15, themethod further comprising: obtaining a third set of sensor data from thesensor operating in the short-range mode or medium-range mode; anddetecting, based on the third set of sensor data and the second motionrecognition algorithm, that the target is moving within a third range ofthe electronic device, the third range less than the second range. 20.The one or more non-transitory computer-readable media of claim 15,wherein detecting, based on the second set of sensor data and the secondmotion recognition algorithm, that the target is moving within thesecond range of the electronic device comprises detecting that thetarget is moving within the second range of the electronic device at avelocity exceeding a velocity indicative of a gesture.